package be.ipl.domaine;

import java.io.Serializable;


import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;


/**
 * The Class Joueur.
 */
@SuppressWarnings("serial")
@Entity
@Table(name="Joueur", schema="finito")
public class Joueur implements Serializable{
	
	/** The id_joueur. */
	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	private int id_joueur;
	
	/** The nom. */
	@Column @NotNull 
	private String nom;
	
	/** The prenom. */
	@Column @NotNull 
	private String prenom;
	
	/** The login. */
	@Column(unique=true) @NotNull 
	private String login;
	
	/** The mot de passe. */
	@Column @NotNull 
	private String motDePasse;
	
	/** The mail. */
	@Column(unique=true) @NotNull 
	private String mail;
	
	
	/**
	 * Instantiates a new joueur.
	 */
	protected Joueur() {
	}


	/**
	 * Instantiates a new joueur.
	 *
	 * @param nom the nom
	 * @param prenom the prenom
	 * @param login the login
	 * @param motDePasse the mot de passe
	 * @param mail the mail
	 */
	public Joueur(String nom, String prenom, String login, String motDePasse,
			String mail) {
		super();
		this.nom = nom;
		this.prenom = prenom;
		this.login = login;
		this.motDePasse = motDePasse;
		this.mail = mail;
	}


	/**
	 * Gets the id.
	 *
	 * @return the id
	 */
	public int getId() {
		return id_joueur;
	}


	/**
	 * Sets the id.
	 *
	 * @param id the new id
	 */
	public void setId(int id) {
		this.id_joueur = id;
	}


	/**
	 * Gets the nom.
	 *
	 * @return the nom
	 */
	public String getNom() {
		return nom;
	}


	/**
	 * Sets the nom.
	 *
	 * @param nom the new nom
	 */
	public void setNom(String nom) {
		this.nom = nom;
	}


	/**
	 * Gets the prenom.
	 *
	 * @return the prenom
	 */
	public String getPrenom() {
		return prenom;
	}


	/**
	 * Sets the prenom.
	 *
	 * @param prenom the new prenom
	 */
	public void setPrenom(String prenom) {
		this.prenom = prenom;
	}


	/**
	 * Gets the login.
	 *
	 * @return the login
	 */
	public String getLogin() {
		return login;
	}


	/**
	 * Sets the login.
	 *
	 * @param login the new login
	 */
	public void setLogin(String login) {
		this.login = login;
	}


	/**
	 * Gets the mot de passe.
	 *
	 * @return the mot de passe
	 */
	public String getMotDePasse() {
		return motDePasse;
	}


	/**
	 * Sets the mot de passe.
	 *
	 * @param motDePasse the new mot de passe
	 */
	public void setMotDePasse(String motDePasse) {
		this.motDePasse = motDePasse;
	}


	/**
	 * Gets the mail.
	 *
	 * @return the mail
	 */
	public String getMail() {
		return mail;
	}


	/**
	 * Sets the mail.
	 *
	 * @param mail the new mail
	 */
	public void setMail(String mail) {
		this.mail = mail;
	}


	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + id_joueur;
		return result;
	}


	
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Joueur other = (Joueur) obj;
		if (id_joueur != other.id_joueur)
			return false;
		return true;
	}
	
	
	
	
	

}
